// JavaScript 中有一个这样的函数：Array.from：允许在 JavaScript 集合(如: 数组、类数组对象、或者是字符串、map 、set 等可迭代对象) 上进行有用的转换。

let obj={
    length:9,
    0:"张三",
    1:"李四"
}
let newArr=Array.from(obj)
console.log(newArr)

// Object.prototype.toString.call()进行类型判断

// 因此我们可以这么理解：函数先在对象中找length属性，如果没找到，那么返回空数组；如果找到了，那么就生成相应长度的数组，
//然后开始查找索引。因此，过大的索引会被忽略，索引没找到就依旧为undefined

// https://www.runoob.com/w3cnote/es6-array.html

// Array.from(arrayLike[, mapFunction[, thisArg]])
// arrayLike：必传参数，想要转换成数组的伪数组对象或可迭代对象。

// mapFunction：可选参数，mapFunction(item，index){...} 是在集合中的每个项目上调用的函数。返回的值将插入到新集合中。

// thisArg：可选参数，执行回调函数 mapFunction 时 this 对象。这个参数很少使用。